Skip to content

Conversation

@keepsimple1
Copy link
Owner

@keepsimple1 keepsimple1 commented Feb 7, 2026

Address issue #428 .

Problem:

The reuseport feature added in #414 introduced a backward compatibility issue.

Users who depend on this crate with default_features = false would silently lose the SO_REUSEPORT socket option. This could cause socket bind failures on systems where SO_REUSEPORT is required for multicast port sharing (e.g., macOS/BSD).

Fix:

This PR inverts the feature to no_reuseport: instead of opting in to SO_REUSEPORT via a default feature, users on old kernels opt out by enabling no_reuseport. This ensures default_features = false users retain the same behavior as before #414.
This PR removes the feature reuseport. When set_reuseport fails, we log it and move on. If this causes any other problems, we will catch them down the road (very quickly I think).

Migration

If you need to disable SO_REUSEPORT (e.g., old Linux kernels before 3.9): use features = ["no_reuseport"].. Remove the use of the feature, and it will be handled.

@keepsimple1 keepsimple1 merged commit 58bc8c5 into main Feb 10, 2026
3 checks passed
@keepsimple1 keepsimple1 deleted the fix-reuseport branch February 10, 2026 05:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants